package ObjectFrame;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.lang.reflect.Field;

public class ObjectFrame {
//    保存任意对象的文件和数据到其他文件中去
    public static void saveObj(Object obj) throws Exception {
        PrintStream ps = new PrintStream
                (new FileOutputStream("src/ObjectFrame/log.txt", true));
//        Object是任意对象，有多少个字段需要保存
        Class c = obj.getClass();
        String simpleName = c.getSimpleName();
        ps.println("------------"+simpleName+"------------");
//        从这个类中提取他的全部成员变量
        Field[] fields = c.getDeclaredFields();
//        遍历每个成员变量
        for (Field field : fields) {
//        获取成员变量名字
            String name = field.getName();
//            拿到这个成员变量在对象中的数据
            field.setAccessible(true);//禁止检查访问控制
            String value = field.get(obj)+"";
            ps.println(name+" = "+value);
        }
        ps.close();
    }
}


